﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            //stack堆栈
            Stack s = new Stack();
            //放置元素
            s.Push("猫和老鼠");
            s.Push("可爱的汤姆");
            s.Push("过分的杰瑞");
            //获取栈顶的值却不移除
            s.Peek();
            Console.WriteLine();
            //判断元素是否在栈内
            if(s.Contains("可爱的汤姆"))
            {
                Console.WriteLine("该元素在栈内");
            }
            else
            {
                Console.WriteLine("这个元素不在的，别想了");
            }
            //数组方式遍历
            Console.WriteLine();
            object[] arr = s.ToArray();
            foreach(var n in arr)
            {
                Console.WriteLine(n);
            }
            //用GeteEnumerator循环访问遍历
            Console.WriteLine();
            IEnumerator enumerator = s.GetEnumerator();
            while(enumerator.MoveNext())
            {
                Console.WriteLine(enumerator.Current);
            }
            //pop方式遍历但是会移除元素
            Console.WriteLine();
            while(s.Count!=0)
            {
                Console.WriteLine(s.Pop());
            }

        }
    }
}
